break;
case PROP_HAS_FRAME:
- priv->has_frame = g_value_get_boolean (value);
-
- if (priv->has_entry)
+ if (priv->has_frame != g_value_get_boolean (value))
{
- GtkWidget *child;
-
- child = gtk_bin_get_child (GTK_BIN (combo_box));
-
- gtk_entry_set_has_frame (GTK_ENTRY (child), priv->has_frame);
+ priv->has_frame = g_value_get_boolean (value);
+ if (priv->has_entry)
+ gtk_entry_set_has_frame (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo_box))),
+ priv->has_frame);
+ g_object_notify (object, "has-frame");
}
-
break;
case PROP_FOCUS_ON_CLICK:
break;
case PROP_EDITING_CANCELED:
- priv->editing_canceled = g_value_get_boolean (value);
+ if (priv->editing_canceled != g_value_get_boolean (value))
+ {
+ priv->editing_canceled = g_value_get_boolean (value);
+ g_object_notify (object, "editing-canceled");
+ }
break;
case PROP_HAS_ENTRY:
g_return_if_fail (text_column >= 0);
g_return_if_fail (model == NULL || text_column < gtk_tree_model_get_n_columns (model));
- priv->text_column = text_column;
+ if (priv->text_column != text_column)
+ {
+ priv->text_column = text_column;
+
+ if (priv->text_renderer != NULL)
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box),
+ priv->text_renderer,
+ "text", text_column,
+ NULL);
- if (priv->text_renderer != NULL)
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box),
- priv->text_renderer,
- "text", text_column,
- NULL);
+ g_object_notify (G_OBJECT (combo_box), "entry-text-column");
+ }
}
/**
}
} while (gtk_tree_model_iter_next (model, &iter));
- return match;
+ g_object_notify (G_OBJECT (combo_box), "active-id");
+
+ return match;
}